import { Type } from 'class-transformer'
import {
  IsMobilePhone,
  IsNotEmpty,
  MaxLength,
  MinLength,
  ValidateNested
} from 'class-validator'
import { UpdateProfileDto } from './update-profile.dto'

export class CreateUserDto {
  @IsMobilePhone('zh-CN', {}, { message: '手机号码格式错误' })
  @IsNotEmpty({ message: '手机号码不能为空' })
  mobile: string

  @MinLength(8, { message: '密码长度最小为 8 位' })
  @MaxLength(32, { message: '密码长度最大为 32 位' })
  @IsNotEmpty({ message: '密码不能为空' })
  password: string

  @ValidateNested({ message: '个人资料格式错误' })
  @Type(() => UpdateProfileDto)
  profile?: UpdateProfileDto
}
